package com.qf.filters;

import com.qf.feign.CacheService;
import com.qianfeng.smsplatform.common.constants.CacheConstants;
import com.qianfeng.smsplatform.common.model.Standard_Submit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

/*
 * @Data: 2021/7/15 16:38
 * */
/*
黑名单怎么处理? 首先要判断是不是在黑名单中? 如何判断?
首先要找到黑名单是如何存档的,存放在什么地方
我们当前的黑名单是通过 BLACK:手机号的方式作为key保存到redis中的
,所以我们可以通过 将手机号拼接 BLACK:的方式去查询

* */
//@Component
public class BlackFilters implements FiltersChain {

    private CacheService cacheService;
    @Autowired
    public void setCacheService(CacheService cacheService) {
        this.cacheService = cacheService;
    }

    @Override
    public boolean dealSms(Standard_Submit submit) {
//        获取到要发送短信的手机号
        String destMobile = submit.getDestMobile();
//        判断是不是在 黑名单中   判断 这个手机号 在redis中有没有对应的数据
        String s = cacheService.get(CacheConstants.CACHE_PREFIX_BLACK + destMobile);

        System.out.println("s------>"+s);
        if (StringUtils.isEmpty(s)){
            System.out.println(s+"不不不不不不在黑名单中");
            return true;
        }else {
//            后续要通知当前手机号在黑名单中
            System.out.println(s+"-----在在在在在在黑名单中");
            return false;
        }

    }
}
